home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
f90
/
matmul.z
/
matmul
Wrap
Text File
|
1998-10-30
|
4KB
|
95 lines
MATMUL(3I) Last changed: 1-6-98
NNAAMMEE
MMAATTMMUULL - Performs matrix multiplication of numeric or logical matrices
SSYYNNOOPPSSIISS
MMAATTMMUULL (([MMAATTRRIIXX__AA==]_m_a_t_r_i_x__a,, [MMAATTRRIIXX__BB==]_m_a_t_r_i_x__b))
IIMMPPLLEEMMEENNTTAATTIIOONN
UNICOS, UNICOS/mk, and IRIX systems
SSTTAANNDDAARRDDSS
Fortran 90
DDEESSCCRRIIPPTTIIOONN
The MMAATTMMUULL intrinsic function performs matrix multiplication
operations on numeric or logical matrices. It accepts the following
arguments:
_m_a_t_r_i_x__a Must be of numeric type (integer, real, or complex) or of
logical type. It must be array valued and of rank one or
two.
_m_a_t_r_i_x__b Must be of numeric type if _m_a_t_r_i_x__a is of numeric type and
of logical type if _m_a_t_r_i_x__a is of logical type. It must be
array valued and of rank one or two. If _m_a_t_r_i_x__a has rank
one, _m_a_t_r_i_x__b must have rank two. If _m_a_t_r_i_x__b has rank one,
_m_a_t_r_i_x__a must have rank two. The size of the first (or
only) dimension of _m_a_t_r_i_x__b must equal the size of the last
(or only) dimension of _m_a_t_r_i_x__a.
MMAATTMMUULL is a transformational function. The name of this intrinsic
cannot be passed as an argument.
RREETTUURRNN VVAALLUUEESS
The result type, type parameter, and shape are as follows. If the
arguments are of numeric type, the type and kind type parameter of the
result are determined by the types of the arguments. If the arguments
are of type logical, the result is of type logical with the kind type
parameter of the arguments. The shape of the result depends on the
shapes of the arguments, as follows:
* If _m_a_t_r_i_x__a has shape (_n, _m) and _m_a_t_r_i_x__b has shape (_m, _k), the
result has shape (_n, _k).
* If _m_a_t_r_i_x__a _h_a_s _s_h_a_p_e (_m) and _m_a_t_r_i_x__b has shape (_m, _k), the result
has shape (_k).
* If _m_a_t_r_i_x__a has shape (_n, _m) and _m_a_t_r_i_x__b has shape (_m), the result
has shape (_n).
Element (_i, _j) of the result has the value
SSUUMM((MMAATTRRIIXX__AA((_i,,::))**MMAATTRRIIXX__BB((::,,_j)))) if the arguments are of numeric type
and has the value AANNYY((MMAATTRRIIXX__AA((_i,,::))..AANNDD..MMAATTRRIIXX__BB((::,,_j)))) if the
arguments are of logical type.
Element (_j) of the result has the value SSUUMM((MMAATTRRIIXX__AA((::))**MMAATTRRIIXX__BB((::,,_j))))
if the arguments are of numeric type and has the value
AANNYY((MMAATTRRIIXX__AA((::))..AANNDD..MMAATTRRIIXX__BB((::,,_j)))) if the arguments are of logical
type.
Element (_i) of the result has the value SSUUMM((MMAATTRRIIXX__AA((_i,,::))**MMAATTRRIIXX__BB((::))))
if the arguments are of numeric type and has the value
AANNYY((MMAATTRRIIXX__AA((_i,,::))..AANNDD..MMAATTRRIIXX__BB((::)))) if the arguments are of logical
type.
EEXXAAMMPPLLEESS
Let AA and BB be the matrices
| 1 2 3 |
| 2 3 4 |
and
| 1 2 |
| 2 3 |
| 2 4 |
Let XX and YY be the vectors [[11,, 22]] and [[11,, 22,, 33]].
* The result of MMAATTMMUULL((AA,, BB)) is the matrix-matrix product AABB with the
value
| 11 20 |
| 16 29 |
* The result of MMAATTMMUULL((XX,, AA)) is the vector-matrix product XXAA with the
value [[55,, 88,, 1111]].
* The result of MMAATTMMUULL((AA,, YY)) is the matrix-vector product AAYY with the
value [[1144,, 2200]].
SSEEEE AALLSSOO
_I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
printed version of this man page.